package com.dev.bbs.service;

import com.dev.bbs.domain.BbsUser;
import com.dev.bbs.form.UserForm;

import java.util.List;

/**
 * 社区用户Service接口
 *
 * @author ruoyi
 * @date 2019-09-17
 */
public interface IBbsUserService
{
    /**
     * 查询社区用户
     *
     * @param userId 社区用户ID
     * @return 社区用户
     */
    public BbsUser selectBbsUserById(Long userId);
    
    /**
     * 查询社区用户及用户信息
     * @param userId
     * @return
     * @author zmr
     */
    BbsUser getUserWithInfoById(Long userId);

    /**
     * 查询社区用户列表
     *
     * @param bbsUser 社区用户
     * @return 社区用户集合
     */
    public List<BbsUser> selectBbsUserList(BbsUser bbsUser);

    /**
     * 新增社区用户
     *
     * @param bbsUser 社区用户
     * @return 结果
     */
    public int insertBbsUser(BbsUser bbsUser);

    /**
     * 修改社区用户
     *
     * @param bbsUser 社区用户
     * @return 结果
     */
    public int updateBbsUser(BbsUser bbsUser);

    /**
     * 批量删除社区用户
     *
     * @param ids 需要删除的数据ID
     * @return 结果
     */
    public int deleteBbsUserByIds(String ids);

    /**
     * 删除社区用户信息
     *
     * @param userId 社区用户ID
     * @return 结果
     */
    public int deleteBbsUserById(Integer userId);

    /**
     * 根据用户名查询社区用户
     * @param username
     * @return
     * @author 张孟如
     */
    public BbsUser selectUserByLoginName(String username);

    /**
     * 校验注册用户是否存在
     * @param username
     * @return
     */
    public boolean checkUsernameExist(String username);

    /**
     * 校验昵称是否存在
     * @param nickname
     * @return
     */
    public boolean checkNicknameExist(String nickname);

    /**
     * @param userForm
     * @param bbsUser
     * @return
     * @author zmr
     */
    int updateUserInfo(UserForm userForm, BbsUser bbsUser);

    /**
     * 重置密码
     * @param bbsUser
     * @return
     * @author zmr
     */
    public int resetUserPwd(BbsUser bbsUser);


    /**
     * 忘记密码---发送邮件
     * @param username
     */
    public void forgotPwdSendMail(String username);
    
}
